package com.dingding.facde.rentsale;

import com.dingding.facde.rentsale.dto.ReqPlaceRentSaleOrder;
import com.dingding.facde.rentsale.dto.ResGetRentSaleOrderStatus;
import com.dingding.facde.rentsale.enums.CancelRentSaleOrderEnum;
import com.dingding.facde.rentsale.enums.IsExistOrderEnum;
import com.dingding.facde.rentsale.enums.RentSaleOrderEnum;

/**
 * @Description:以租代购汽车接口类
 * @author fengshuonan
 * @date 2016年7月4日 下午2:45:52
 * @version 叮叮搭车
 * @since
 */
public interface IRentSaleCarService {
	
	/**
	 * @Description: 以租代售下单
	 * @param reqPlaceRentSaleOrder 请求参数封装
	 * @author fengshuonan
	 * @return RentSaleOrderEnum 返回状态码
	 * @since 2.3.0
	 */
	public RentSaleOrderEnum placeRentSaleOrder(ReqPlaceRentSaleOrder reqPlaceRentSaleOrder);
	
	
	/**
	 * @Description: 判断当前用户是否存在以租代售订单
	 * @param userId 用户id
	 * @author fengshuonan
	 * @return IsExistOrderEnum 状态枚举
	 * @since 2.3.0
	 */
	public IsExistOrderEnum isExistOrder(String userId);
	
	
	/**
	 * @Description: 获取某 用户的以租代售订单的状态
	 * @param userId 用户id
	 * @author fengshuonan
	 * @return ResGetRentSaleOrderStatus 订单详情的封装
	 * @since 2.3.2
	 */
	public ResGetRentSaleOrderStatus getRentCarOrderStatus(String userId);
	
	
	/**
	 * @Description: 取消订单
	 * @param userId 用户id
	 * @author fengshuonan
	 * @since 2.3.0
	 */
	public CancelRentSaleOrderEnum cancelRentCarOrder(String userId);
}
